{
	"$schema": "http://json-schema.org/draft-04/schema#",
	"type": "object",
	"definitions": {
		"configurations": {
			"type": "array",
			"items": {
				"type": "object",
				"required": [
					"name"
				],
				"properties": {
					"name": {
						"markdownDescription": "구성 식별자입니다. `Mac`, `Linux`, `Win32`는 해당 플랫폼에서 자동으로 선택되는 구성의 특수 식별자이지만, 식별자는 무엇이든 될 수 있습니다.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerPath": {
						"markdownDescription": "더 정확한 IntelliSense를 사용하도록 설정하는 데 사용되는 컴파일러의 전체 경로입니다(예: `/usr/bin/gcc`).",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"compilerArgs": {
						"markdownDescription": "사용되는 포함 또는 정의를 수정하기 위한 컴파일러 인수입니다(예: `-nostdinc++`, `-m32` 등).",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"cStandard": {
						"description": "IntelliSense에 사용할 C 언어 표준의 버전입니다. 참고: GNU 표준은 GNU 정의를 가져오기 위해 설정된 컴파일러를 쿼리하는 데만 사용되며, IntelliSense는 해당 C 표준 버전을 에뮬레이트합니다.",
						"type": "string",
						"enum": [
							"c89",
							"c99",
							"c11",
							"c17",
							"gnu89",
							"gnu99",
							"gnu11",
							"gnu17",
							"${default}"
						]
					},
					"cppStandard": {
						"description": "IntelliSense에 사용할 C++ 언어 표준의 버전입니다. 참고: GNU 표준은 GNU 정의를 가져오기 위해 설정된 컴파일러를 쿼리하는 데만 사용되며, IntelliSense는 해당 C++ 표준 버전을 에뮬레이트합니다.",
						"type": "string",
						"enum": [
							"c++98",
							"c++03",
							"c++11",
							"c++14",
							"c++17",
							"c++20",
							"c++23",
							"gnu++98",
							"gnu++03",
							"gnu++11",
							"gnu++14",
							"gnu++17",
							"gnu++20",
							"gnu++23",
							"${default}"
						]
					},
					"compileCommands": {
						"markdownDescription": "작업 영역의 `compile_commands.json` 파일 전체 경로입니다.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string"
					},
					"includePath": {
						"markdownDescription": "포함된 헤더를 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록입니다. 이러한 경로 검색은 비재귀적입니다. 재귀적 검색을 나타내려면 `**`를 지정합니다. 예를 들어 `${workspaceFolder}/**`는 모든 하위 디렉터리를 검색하지만 `${workspaceFolder}`는 하위 디렉터리를 검색하지 않습니다. 일반적으로 시스템 포함은 포함되지 않아야 하고 `C_Cpp.default.compilerPath`가 설정되어야 합니다.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"macFrameworkPath": {
						"description": "Mac 프레임워크에서 포함된 헤더를 검색하는 동안 사용할 IntelliSense 엔진의 경로 목록입니다. Mac 구성에서만 지원됩니다.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"windowsSdkVersion": {
						"markdownDescription": "Windows에서 사용할 Windows SDK 포함 경로의 버전입니다(예: `10.0.17134.0`).",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"pattern": "^\\d{2}\\.\\d{1}\\.\\d{5}\\.\\d{1}$|^8\\.1$"
					},
					"dotConfig": {
						"description": "Kconfig 시스템에서 만든 .config 파일의 경로입니다. Kconfig 시스템은 프로젝트를 빌드하기 위한 모든 정의가 포함된 파일을 생성합니다. Kconfig 시스템을 사용하는 프로젝트의 예로는 Linux 커널 및 NuttX RTOS가 있습니다.",
						"type": "string"
					},
					"defines": {
						"markdownDescription": "파일을 구문 분석하는 동안 사용할 IntelliSense 엔진의 전처리기 정의 목록입니다. 선택적으로 `=`를 사용하여 값을 설정합니다(예: `VERSION=1`).",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"intelliSenseMode": {
						"markdownDescription": "MSVC, gcc 또는 Clang의 플랫폼 및 아키텍처 변형에 매핑되는 사용할 IntelliSense 모드입니다. 설정되지 않거나 `${default}`로 설정된 경우 확장에서 해당 플랫폼의 기본값을 선택합니다. Windows의 경우 기본값인 `windows-msvc-x64`로 설정되고, Linux의 경우 기본값인 `linux-gcc-x64`로 설정되며, macOS의 경우 기본값인 `macos-clang-x64`로 설정됩니다. `<compiler>-<architecture>` 변형(예: `gcc-x64`)만 지정하는 IntelliSense 모드는 레거시 모드이며 호스트 플랫폼에 따라 `<platform>-<compiler>-<architecture>` 변형으로 자동으로 변환됩니다.",
						"descriptionHint": "Uses of words 'platform', 'compiler', and 'architecture' are meant to be descriptive placeholders for literal values, so they should be translated, but without changing the surrounding `<>-<>` symbols. All other text inside `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "string",
						"enum": [
							"macos-clang-x86",
							"macos-clang-x64",
							"macos-clang-arm",
							"macos-clang-arm64",
							"macos-gcc-x86",
							"macos-gcc-x64",
							"macos-gcc-arm",
							"macos-gcc-arm64",
							"linux-clang-x86",
							"linux-clang-x64",
							"linux-clang-arm",
							"linux-clang-arm64",
							"linux-gcc-x86",
							"linux-gcc-x64",
							"linux-gcc-arm",
							"linux-gcc-arm64",
							"windows-clang-x86",
							"windows-clang-x64",
							"windows-clang-arm",
							"windows-clang-arm64",
							"windows-gcc-x86",
							"windows-gcc-x64",
							"windows-gcc-arm",
							"windows-gcc-arm64",
							"windows-msvc-x86",
							"windows-msvc-x64",
							"windows-msvc-arm",
							"windows-msvc-arm64",
							"clang-x86",
							"clang-x64",
							"clang-arm",
							"clang-arm64",
							"gcc-x86",
							"gcc-x64",
							"gcc-arm",
							"gcc-arm64",
							"msvc-x86",
							"msvc-x64",
							"msvc-arm",
							"msvc-arm64",
							"${default}"
						]
					},
					"forcedInclude": {
						"description": "변환 단위에서 포함 파일 앞에 포함해야 하는 파일의 목록입니다.",
						"type": "array",
						"items": {
							"type": "string"
						}
					},
					"configurationProvider": {
						"description": "소스 파일에 IntelliSense 구성 정보를 제공할 수 있는 VS Code 확장의 ID입니다.",
						"type": "string"
					},
					"mergeConfigurations": {
						"markdownDescription": "포함 경로, 정의 및 강제 포함을 구성 공급자의 해당 항목과 병합하려면 `true`로 설정합니다.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"type": "boolean"
					},
					"browse": {
						"type": "object",
						"properties": {
							"limitSymbolsToIncludedHeaders": {
								"markdownDescription": "헤더로 직접 또는 간접적으로 포함된 파일만 처리하려면 `true`로 설정합니다. 지정된 포함 경로 아래의 모든 파일을 처리하려면 `false`로 설정합니다.",
								"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": [
									"boolean",
									"string"
								]
							},
							"databaseFilename": {
								"description": "생성된 기호 데이터베이스의 경로입니다. 상대 경로가 지정된 경우 작업 영역의 기본 스토리지 위치에 대해 상대적으로 만들어집니다.",
								"type": "string"
							},
							"path": {
								"markdownDescription": "작업 영역 기호의 인덱싱 및 구문 분석에 사용할 경로의 목록입니다('정의로 이동', '모든 참조 찾기' 등에서 사용). 이 경로에서 검색하는 작업은 기본적으로 재귀 작업입니다. 비재귀 검색을 나타내려면 `*`를 지정하세요. 예를 들어 `${workspaceFolder}`는 모든 하위 디렉터리를 검색하지만 `${workspaceFolder}/*`는 검색하지 않습니다.",
								"descriptionHint": "Text in '' is a command and should be translated in the same way that VS Code itself translates it. Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
								"type": "array",
								"items": {
									"type": "string"
								}
							}
						},
						"additionalProperties": false
					},
					"customConfigurationVariables": {
						"type": "object",
						"markdownDescription": "`launch.json` 또는 `tasks.json`의 입력 변수에 사용하기 위해 `${cpptools:activeConfigCustomVariable}` 명령을 통해 쿼리할 수 있는 사용자 지정 변수입니다.",
						"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered.",
						"patternProperties": {
							"(^.+$)": {
								"type": "string"
							}
						},
						"additionalProperties": false
					}
				},
				"additionalProperties": false
			}
		},
		"env": {
			"type": "object",
			"markdownDescription": "`${변수}` 또는 `${env:변수}` 구문을 사용하여 이 파일 내 어디서나 다시 사용할 수 있는 사용자 지정 변수입니다.",
			"descriptionHint": "The word 'variable' within curly braces should be translated. The \"env\" should not be translated, and the capitalization, spacing, and punctuation (\"${:}\", including the ``) should be preserved.",
			"patternProperties": {
				"(?!^workspaceFolder$)(?!^workspaceRoot$)(?!^workspaceFolderBasename$)(?!^execPath$)(?!^pathSeparator$)(?!^default$)(^.+$)": {
					"oneOf": [
						{
							"type": "string"
						},
						{
							"type": "array",
							"items": {
								"type": "string"
							}
						}
					]
				}
			},
			"additionalProperties": false
		},
		"version": {
			"type": "integer",
			"description": "구성 파일의 버전입니다. 이 속성은 확장에서 관리합니다. 변경하지 마세요."
		},
		"enableConfigurationSquiggles": {
			"type": "boolean",
			"default": true,
			"markdownDescription": "확장이 `c_cpp_properties.json`에서 검색된 오류를 보고하도록 할지를 제어합니다.",
			"descriptionHint": "Markdown text between `` should not be translated or localized (they represent literal text) and the capitalization, spacing, and punctuation (including the ``) should not be altered."
		}
	},
	"properties": {
		"configurations": {
			"$ref": "#/definitions/configurations"
		},
		"env": {
			"$ref": "#/definitions/env"
		},
		"version": {
			"$ref": "#/definitions/version"
		},
		"enableConfigurationSquiggles": {
			"$ref": "#/definitions/enableConfigurationSquiggles"
		}
	},
	"required": [
		"configurations",
		"version"
	],
	"additionalProperties": false
}